package br.com.automed.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;

@Entity
@Table(name="CM_ENDERECO")
public class Endereco {
	
	@Id
    @GeneratedValue(generator = "system-uuid", strategy=GenerationType.AUTO)
    @GenericGenerator(name = "system-uuid", strategy = "uuid")
    @Column(name = "ID_ENDERECO")
	private String idEndereco;
	
	@Column(name = "ST_ENDERECO")
	private String endereco;
	
	@Column(name = "ST_BAIRRO")
	private String bairro;
	
	@Column(name = "ST_COMPLEMENTO")
	private String complemento;
	
	@Column(name = "ST_NUMERO")
	private String numero;
	
	@Column(name = "ST_CEP")
	private String cep;
	
	@ManyToOne
	@JoinColumn(name="FK_CIDADE", referencedColumnName="ID_CIDADE")
	private Cidade cidade;

	@OneToOne(mappedBy="endereco")
	private Clinica clinica;

	@OneToOne(mappedBy="endereco")
	private Usuario usuario;
	
	public Endereco() {
		cidade = new Cidade();
	}
	
	public String getIdEndereco() {
		return idEndereco;
	}
	public void setIdEndereco(String idEndereco) {
		this.idEndereco = idEndereco;
	}
	public String getEndereco() {
		return endereco;
	}
	public void setEndereco(String endereco) {
		this.endereco = endereco;
	}
	public String getBairro() {
		return bairro;
	}
	public void setBairro(String bairro) {
		this.bairro = bairro;
	}
	public String getComplemento() {
		return complemento;
	}
	public void setComplemento(String complemento) {
		this.complemento = complemento;
	}
	public String getNumero() {
		return numero;
	}
	public void setNumero(String numero) {
		this.numero = numero;
	}
	public String getCep() {
		return cep;
	}
	public void setCep(String cep) {
		this.cep = cep;
	}
	public Cidade getCidade() {
		return cidade;
	}
	public void setCidade(Cidade cidade) {
		this.cidade = cidade;
	}
	public Clinica getClinica() {
		return clinica;
	}
	public void setClinica(Clinica clinica) {
		this.clinica = clinica;
	}
	public Usuario getUsuario() {
		return usuario;
	}
	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

}
